<script lang="ts" setup>
// JS 实现
// const props = defineProps({
//     money: Number,
//     car: {
//         type: String,
//         default: '奔驰'
//     }
// })
// console.log('props.car -----> ', props.car);

// TS 实现，其实也就是通过泛型
const { money, car = '五菱宏光' } = defineProps<{
    money: number,
    car?: string
}>()

// js 实现 emit
// const emit = defineEmits(['add', 'changeCar'])

// ts 实现 emit
const emit = defineEmits<{
    (e: 'add', val: number): void
    (e: 'changeCar'): void
}>()
</script>

<template>
    <div>我是子组件 - {{money}} - {{car}}</div>
    <button @click="emit('add',1000)">点我加工资1000</button>
    <button @click="emit('changeCar')">点我换车</button>
</template>